home *** CD-ROM | disk | FTP | other *** search
/ Mac100% 1998 November / MAC100-1998-11.ISO.7z / MAC100-1998-11.ISO / オンラインソフト定点観測 / ユーティリティ / Mops 3.2.sea / Mops 3.2 / Mops source / PPC source / pArgs < prev    next >
Text File  |  1998-06-02  |  1KB  |  47 lines

  1. (*
  2.  
  3. This file is derived from Args.  It contains any defns from Args that:
  4.  
  5. 1. are needed for the PPC image as generated on the 68k, and
  6.  
  7. 2. have to be compiled AFTER we start compiling PPC code - i.e. after
  8.     CROSS at the beginning of Setup, which crosses us over into PPC-land.
  9.     
  10. So, here we only have to include words that compile to PPC code, and
  11. never get executed at compile time.
  12.  
  13. Thus we only include words which come from Args and haven't been
  14. included in qArgs, as well as any from qArgs that get executed at
  15. both compile and run time.
  16.  
  17. *)
  18.  
  19. ¥ I think all we need here is EVALUATE.
  20.  
  21. false    value    compinline?
  22.  
  23. : EVALUATE  { addr len ¥ x1 x2 x3 x4 -- ?? }
  24.  
  25.     save-input  drop            ¥ Must be 4
  26.     -> x4 -> x3 -> x2 -> x1        ¥ Move input-stream specs to locals
  27.  
  28.     addr -> src-start  len -> src-len  0 >in !  -1 -> source-id
  29.     echo?  IF
  30.     ." ***evaluating***  "  addr len type cr
  31.     THEN
  32.     interpret
  33.     x1 x2 x3 x4  4  restore-input  IF 25 die THEN
  34. ;
  35.  
  36. ¥ We can EVALUATE strings which might have embedded returns, and we can't
  37. ¥ just convert returns to blanks since we want the comment operator ¥
  38. ¥ to only skip to the end of the line, not the end of the string.  We handle
  39. ¥ this by defining an immediate "word" which just consists of a return, which
  40. ¥ does nothing.  We initially define it as X then patch it.  Our dic
  41. ¥ threading scheme doesn't clobber this since we just hash on the length,
  42. ¥ which remains 1.
  43.  
  44. : X        ;  immediate
  45.  
  46. 13 ( cr )   ' x  >namex 1+  c!
  47.